﻿using System;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.netezza;

namespace SharpSqlAnalyzer.stmt.netezza
{
	// Token: 0x0200014B RID: 331
	public class TNetezzaGenerateStatistics : TCustomSqlStatement
	{
		// Token: 0x17000205 RID: 517
		// (get) Token: 0x06000B18 RID: 2840 RVA: 0x003058BD File Offset: 0x00303ABD
		// (set) Token: 0x06000B19 RID: 2841 RVA: 0x003058C5 File Offset: 0x00303AC5
		public virtual bool Express
		{
			get
			{
				return this.express;
			}
			set
			{
				this.express = value;
			}
		}

		// Token: 0x17000206 RID: 518
		// (get) Token: 0x06000B1A RID: 2842 RVA: 0x003058CE File Offset: 0x00303ACE
		// (set) Token: 0x06000B1B RID: 2843 RVA: 0x003058D6 File Offset: 0x00303AD6
		public virtual TObjectNameList Columns
		{
			get
			{
				return this.columns;
			}
			set
			{
				this.columns = value;
			}
		}

		// Token: 0x17000207 RID: 519
		// (get) Token: 0x06000B1C RID: 2844 RVA: 0x003058DF File Offset: 0x00303ADF
		// (set) Token: 0x06000B1D RID: 2845 RVA: 0x003058E7 File Offset: 0x00303AE7
		public virtual TObjectName TableName
		{
			get
			{
				return this.tableName;
			}
			set
			{
				this.tableName = value;
			}
		}

		// Token: 0x06000B1E RID: 2846 RVA: 0x003058F0 File Offset: 0x00303AF0
		public TNetezzaGenerateStatistics(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstnetezzaGenerateStatistics;
		}

		// Token: 0x06000B1F RID: 2847 RVA: 0x00305904 File Offset: 0x00303B04
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			TGenerateStatisticsSqlNode tgenerateStatisticsSqlNode = (TGenerateStatisticsSqlNode)this.rootNode;
			this.tableName = tgenerateStatisticsSqlNode.TableName;
			this.columns = tgenerateStatisticsSqlNode.Columns;
			this.express = tgenerateStatisticsSqlNode.Express;
			return 0;
		}

		// Token: 0x06000B20 RID: 2848 RVA: 0x00305954 File Offset: 0x00303B54
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000B21 RID: 2849 RVA: 0x00305964 File Offset: 0x00303B64
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x040012A2 RID: 4770
		private TObjectName tableName;

		// Token: 0x040012A3 RID: 4771
		private TObjectNameList columns;

		// Token: 0x040012A4 RID: 4772
		private bool express;
	}
}
